home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1992 June: ROMin Holiday / ADC Developer CD (1992-06) (''ROMin Holiday'')_iso / Developer Connection - 06-1992.iso / Developer Essentials / MPW Interfaces & Libraries / PInterfaces / GestaltEqu.p < prev    next >
Encoding:
Text File  |  1992-01-29  |  11.9 KB  |  267 lines  |  [TEXT/MPS ]

  1.  
  2. {
  3. Created: Wednesday, December 4, 1991 at 12:31 PM
  4.  GestaltEqu.p
  5.  Pascal Interface to the Macintosh Libraries
  6.  
  7.   Copyright Apple Computer, Inc. 1988-1991
  8.   All rights reserved
  9. }
  10.  
  11.  
  12. {$IFC UNDEFINED UsingIncludes}
  13. {$SETC UsingIncludes := 0}
  14. {$ENDC}
  15.  
  16. {$IFC NOT UsingIncludes}
  17.  UNIT GestaltEqu;
  18.  INTERFACE
  19. {$ENDC}
  20.  
  21. {$IFC UNDEFINED UsingGestaltEqu}
  22. {$SETC UsingGestaltEqu := 1}
  23.  
  24. {$I+}
  25. {$SETC GestaltEquIncludes := UsingIncludes}
  26. {$SETC UsingIncludes := 1}
  27. {$IFC UNDEFINED UsingTypes}
  28. {$I $$Shell(PInterfaces)Types.p}
  29. {$ENDC}
  30. {$SETC UsingIncludes := GestaltEquIncludes}
  31.  
  32. CONST
  33.  
  34. {***********************
  35.  *    Gestalt error codes
  36.  ***********************}
  37. gestaltUnknownErr = -5550;                        { value returned if Gestalt doesn't know the answer }
  38. gestaltUndefSelectorErr = -5551;                { undefined selector was passed to Gestalt }
  39. gestaltDupSelectorErr = -5552;                    { tried to add an entry that already existed }
  40. gestaltLocationErr = -5553;                        { gestalt function ptr wasn't in sysheap }
  41.  
  42. {*************************
  43.  *    Environment Selectors
  44.  *************************}
  45. gestaltVersion = 'vers';                        { gestalt version }
  46. gestaltAddressingModeAttr = 'addr';                { addressing mode attributes }
  47. gestalt32BitAddressing = 0;                        { using 32-bit addressing mode }
  48. gestalt32BitSysZone = 1;                        { 32-bit compatible system zone }
  49. gestalt32BitCapable = 2;                        { Machine is 32-bit capable }
  50. gestaltAliasMgrAttr = 'alis';                    { Alias Mgr Attributes }
  51. gestaltAliasMgrPresent = 0;                        { True if the Alias Mgr is present }
  52. gestaltAliasMgrSupportsRemoteAppletalk = 1;        { True if the Alias Mgr knows about Remote Appletalk }
  53. gestaltAppleTalkVersion = 'atlk';                { appletalk version }
  54. gestaltAUXVersion = 'a/ux';                        {a/ux version, if present }
  55. gestaltConnMgrAttr = 'conn';                    { connection mgr attributes }
  56. gestaltConnMgrPresent = 0;
  57. gestaltConnMgrCMSearchFix = 1;                    { Fix to CMAddSearch?  }
  58. gestaltConnMgrErrorString = 2;                    { has CMGetErrorString() }
  59. gestaltConnMgrMultiAsyncIO = 3;                    { CMNewIOPB, CMDisposeIOPB, CMPBRead, CMPBWrite, CMPBIOKill }
  60. gestaltCRMAttr = 'crm ';                        { comm resource mgr attributes }
  61. gestaltCRMPresent = 0;
  62. gestaltCRMPersistentFix = 1;                    { fix for persistent tools }
  63. gestaltCRMToolRsrcCalls = 2;                    { has CRMGetToolResource/ReleaseToolResource }
  64. gestaltCTBVersion = 'ctbv';                        { CommToolbox version }
  65. gestaltDBAccessMgrAttr = 'dbac';                { Database Access Mgr attributes }
  66. gestaltDBAccessMgrPresent = 0;                    { True if Database Access Mgr present }
  67. gestaltDITLExtAttr = 'ditl';                    { AppenDITL, etc. calls from CTB }
  68. gestaltDITLExtPresent = 0;                        { True if calls are present }
  69. gestaltEasyAccessAttr = 'easy';                    { Easy Access attributes }
  70. gestaltEasyAccessOff = 0;                        { if Easy Access present, but off (no icon) }
  71. gestaltEasyAccessOn = 1;                        { if Easy Access "On" }
  72. gestaltEasyAccessSticky = 2;                    { if Easy Access "Sticky" }
  73. gestaltEasyAccessLocked = 3;                    { if Easy Access "Locked" }
  74. gestaltEditionMgrAttr = 'edtn';                    { Edition Mgr attributes }
  75. gestaltEditionMgrPresent = 0;                    { True if Edition Mgr present }
  76. gestaltAppleEventsAttr = 'evnt';                { Apple Events attributes }
  77. gestaltAppleEventsPresent = 0;                    { True if Apple Events present }
  78. gestaltFindFolderAttr = 'fold';                    { Folder Mgr attributes }
  79. gestaltFindFolderPresent = 0;                    { True if Folder Mgr present }
  80. gestaltFontMgrAttr = 'font';                    { Font Mgr attributes }
  81. gestaltOutlineFonts = 0;                        { True if Outline Fonts supported }
  82. gestaltFPUType = 'fpu ';                        { fpu type }
  83. gestaltNoFPU = 0;                                { no FPU }
  84. gestalt68881 = 1;                                { 68881 FPU }
  85. gestalt68882 = 2;                                { 68882 FPU }
  86. gestalt68040FPU = 3;                            { 68040 built-in FPU }
  87. gestaltFSAttr = 'fs  ';                            { file system attributes }
  88. gestaltFullExtFSDispatching = 0;                { has really cool new HFSDispatch dispatcher }
  89. gestaltHasFSSpecCalls = 1;                        { has FSSpec calls }
  90. gestaltHasFileSystemManager = 2;                { has a file system manager }
  91. gestaltFXfrMgrAttr = 'fxfr';                    { file transfer manager attributes }
  92. gestaltFXfrMgrPresent = 0;
  93. gestaltFXfrMgrMultiFile = 1;                    { supports FTSend and FTReceive }
  94. gestaltFXfrMgrErrorString = 2;                    { supports FTGetErrorString }
  95. gestaltHardwareAttr = 'hdwr';                    { hardware attributes }
  96. gestaltHasVIA1 = 0;                                { VIA1 exists }
  97. gestaltHasVIA2 = 1;                                { VIA2 exists }
  98. gestaltHasASC = 3;                                { Apple Sound Chip exists }
  99. gestaltHasSCC = 4;                                { SCC exists }
  100. gestaltHasSCSI = 7;                                { SCSI exists }
  101. gestaltHasSoftPowerOff = 19;                    { Capable of software power off }
  102. gestaltHasSCSI961 = 21;                            { 53C96 SCSI controller on internal bus }
  103. gestaltHasSCSI962 = 22;                            { 53C96 SCSI controller on external bus }
  104. gestaltHasUniversalROM = 24;                    { Do we have a Universal ROM?}
  105. gestaltHelpMgrAttr = 'help';                    { Help Mgr Attributes }
  106. gestaltHelpMgrPresent = 0;                        { true if help mgr is present }
  107. gestaltKeyboardType = 'kbd ';                    { keyboard type }
  108. gestaltMacKbd = 1;
  109. gestaltMacAndPad = 2;
  110. gestaltMacPlusKbd = 3;
  111. gestaltExtADBKbd = 4;
  112. gestaltStdADBKbd = 5;
  113. gestaltPrtblADBKbd = 6;
  114. gestaltPrtblISOKbd = 7;
  115. gestaltStdISOADBKbd = 8;
  116. gestaltExtISOADBKbd = 9;
  117. gestaltADBKbdII = 10;
  118. gestaltADBISOKbdII = 11;
  119. gestaltPwrBookADBKbd = 12;
  120. gestaltPwrBookISOADBKbd = 13;
  121. gestaltLowMemorySize = 'lmem';                    { size of low memory area }
  122. gestaltLogicalRAMSize = 'lram';                    { logical ram size }
  123. gestaltMiscAttr = 'misc';                        { miscellaneous attributes }
  124. gestaltScrollingThrottle = 0;                    { true if scrolling throttle on }
  125. gestaltSquareMenuBar = 2;                        { true if menu bar is square }
  126. gestaltMMUType = 'mmu ';                        { mmu type }
  127. gestaltNoMMU = 0;                                { no MMU }
  128. gestaltAMU = 1;                                    { address management unit }
  129. gestalt68851 = 2;                                { 68851 PMMU }
  130. gestalt68030MMU = 3;                            { 68030 built-in MMU }
  131. gestalt68040MMU = 4;                            { 68040 built-in MMU }
  132. gestaltStdNBPAttr = 'nlup';                        { standard nbp attributes }
  133. gestaltStdNBPPresent = 0;
  134. gestaltNotificationMgrAttr = 'nmgr';            { notification manager attributes }
  135. gestaltNotificationPresent = 0;                    { notification manager exists }
  136. gestaltNuBusConnectors = 'sltc';                { bitmap of NuBus connectors}
  137. gestaltOSAttr = 'os  ';                            { o/s attributes }
  138. gestaltSysZoneGrowable = 0;                        { system heap is growable }
  139. gestaltLaunchCanReturn = 1;                        { can return from launch }
  140. gestaltLaunchFullFileSpec = 2;                    { can launch from full file spec }
  141. gestaltLaunchControl = 3;                        { launch control support available }
  142. gestaltTempMemSupport = 4;                        { temp memory support }
  143. gestaltRealTempMemory = 5;                        { temp memory handles are real }
  144. gestaltTempMemTracked = 6;                        { temporary memory handles are tracked }
  145. gestaltIPCSupport = 7;                            { IPC support is present }
  146. gestaltSysDebuggerSupport = 8;                    { system debugger support is present }
  147. gestaltOSTable = 'ostt';                        {  OS trap table base  }
  148. gestaltToolboxTable = 'tbtt';                    {  OS trap table base  }
  149. gestaltExtToolboxTable = 'xttt';                { Extended Toolbox trap table base }
  150. gestaltLogicalPageSize = 'pgsz';                { logical page size }
  151. gestaltPowerMgrAttr = 'powr';                    { power manager attributes }
  152. gestaltPMgrExists = 0;
  153. gestaltPMgrCPUIdle = 1;
  154. gestaltPMgrSCC = 2;
  155. gestaltPMgrSound = 3;
  156. gestaltPPCToolboxAttr = 'ppc ';                    { PPC toolbox attributes }
  157.  
  158. {
  159.  * PPC will return the combination of following bit fields.
  160.  * e.g. gestaltPPCSupportsRealTime +gestaltPPCSupportsIncoming + gestaltPPCSupportsOutGoing
  161.  * indicates PPC is cuurently is only supports real time delivery
  162.  * and both incoming and outgoing network sessions are allowed.
  163.  * By default local real time delivery is supported as long as PPCInit has been called.}
  164.  
  165. gestaltPPCToolboxPresent = $0000;                { PPC Toolbox is present  Requires PPCInit to be called }
  166. gestaltPPCSupportsRealTime = $1000;                { PPC Supports real-time delivery }
  167. gestaltPPCSupportsIncoming = $0001;                { PPC will deny incoming network requests }
  168. gestaltPPCSupportsOutGoing = $0002;                { PPC will deny outgoing network requests }
  169. gestaltProcessorType = 'proc';                    { processor type }
  170. gestalt68000 = 1;
  171. gestalt68010 = 2;
  172. gestalt68020 = 3;
  173. gestalt68030 = 4;
  174. gestalt68040 = 5;
  175. gestaltParityAttr = 'prty';                        { parity attributes }
  176. gestaltHasParityCapability = 0;                    { has ability to check parity }
  177. gestaltParityEnabled = 1;                        { parity checking enabled }
  178. gestaltQuickdrawVersion = 'qd  ';                { quickdraw version }
  179. gestaltOriginalQD = $000;                        { original 1-bit QD }
  180. gestalt8BitQD = $100;                            { 8-bit color QD }
  181. gestalt32BitQD = $200;                            { 32-bit color QD }
  182. gestalt32BitQD11 = $210;                        { 32-bit color QDv1.1 }
  183. gestalt32BitQD12 = $220;                        { 32-bit color QDv1.2 }
  184. gestalt32BitQD13 = $230;                        { 32-bit color QDv1.3 }
  185. gestaltQuickdrawFeatures = 'qdrw';                { quickdraw features }
  186. gestaltHasColor = 0;                            { color quickdraw present }
  187. gestaltHasDeepGWorlds = 1;                        { GWorlds can be deeper than 1-bit }
  188. gestaltHasDirectPixMaps = 2;                    { PixMaps can be direct (16 or 32 bit) }
  189. gestaltHasGrayishTextOr = 3;                    { supports text mode grayishTextOr }
  190. gestaltPhysicalRAMSize = 'ram ';                { physical RAM size }
  191. gestaltPopupAttr = 'pop!';                        { popup cdef attributes }
  192. gestaltPopupPresent = 0;
  193. gestaltResourceMgrAttr = 'rsrc';                { Resource Mgr attributes }
  194. gestaltPartialRsrcs = 0;                        { True if partial resources exist }
  195. gestaltScriptMgrVersion = 'scri';                { Script Manager version number    <08/05/89 pke> }
  196. gestaltScriptCount = 'scr#';                    { number of active script systems    <08/05/89 pke> }
  197. gestaltSerialAttr = 'ser ';                        { Serial attributes }
  198. gestaltHasGPIaToDCDa = 0;                        { GPIa connected to DCDa}
  199. gestaltHasGPIaToRTxCa = 1;                        { GPIa connected to RTxCa clock input}
  200. gestaltHasGPIbToDCDb = 2;                        { GPIb connected to DCDb }
  201. gestaltSoundAttr = 'snd ';                        { sound attributes }
  202. gestaltStereoCapability = 0;                    { sound hardware has stereo capability }
  203. gestaltStereoMixing = 1;                        { stereo mixing on external speaker }
  204. gestaltSoundIOMgrPresent = 3;                    { The Sound I/O Manager is present }
  205. gestaltBuiltInSoundInput = 4;                    { built-in Sound Input hardware is present }
  206. gestaltHasSoundInputDevice = 5;                    { Sound Input device available }
  207. gestaltStandardFileAttr = 'stdf';                { Standard File attributes }
  208. gestaltStandardFile58 = 0;                        { True if selectors 5-8 (StandardPutFile-CustomGetFile) are supported }
  209. gestaltTextEditVersion = 'te  ';                { TextEdit version number            <08/05/89 pke> }
  210. gestaltTE1 = 1;                                    { TextEdit in MacIIci ROM <8Aug89smb> }
  211. gestaltTE2 = 2;                                    { TextEdit with 6.0.4 Script Systems on MacIIci (Script bug fixes for MacIIci) <8Aug89smb> }
  212. gestaltTE3 = 3;                                    { TextEdit with 6.0.4 Script Systems all but MacIIci <8Aug89smb> }
  213. gestaltTE4 = 4;                                    { TextEdit in System 7.0 }
  214. gestaltTE5 = 5;                                    { TextWidthHook available in TextEdit }
  215. gestaltTermMgrAttr = 'term';                    { terminal mgr attributes }
  216. gestaltTermMgrPresent = 0;
  217. gestaltTermMgrErrorString = 2;
  218. gestaltTimeMgrVersion = 'tmgr';                    { time mgr version }
  219. gestaltStandardTimeMgr = 1;                        { standard time mgr is present }
  220. gestaltRevisedTimeMgr = 2;                        { revised time mgr is present }
  221. gestaltExtendedTimeMgr = 3;                        { extended time mgr is present }
  222. gestaltVMAttr = 'vm  ';                            { virtual memory attributes }
  223. gestaltVMPresent = 0;                            { true if virtual memory is present }
  224.  
  225. {************************
  226.  *    Info-only selectors
  227.  ***********************}
  228. gestaltMachineType = 'mach';                    { machine type }
  229. kMachineNameStrID = -16395;
  230. gestaltClassic = 1;
  231. gestaltMacXL = 2;
  232. gestaltMac512KE = 3;
  233. gestaltMacPlus = 4;
  234. gestaltMacSE = 5;
  235. gestaltMacII = 6;
  236. gestaltMacIIx = 7;
  237. gestaltMacIIcx = 8;
  238. gestaltMacSE030 = 9;
  239. gestaltPortable = 10;
  240. gestaltMacIIci = 11;
  241. gestaltMacIIfx = 13;
  242. gestaltMacClassic = 17;
  243. gestaltMacIIsi = 18;
  244. gestaltMacLC = 19;
  245. gestaltQuadra900 = 20;
  246. gestaltPowerBook170 = 21;
  247. gestaltQuadra700 = 22;
  248. gestaltClassicII = 23;
  249. gestaltPowerBook100 = 24;
  250. gestaltPowerBook140 = 25;
  251. gestaltMachineIcon = 'micn';                    { machine icon }
  252. gestaltROMSize = 'rom ';                        { rom size }
  253. gestaltROMVersion = 'romv';                        { rom version }
  254. gestaltSystemVersion = 'sysv';                    { system version}
  255.  
  256. FUNCTION Gestalt(selector: OSType;VAR response: LONGINT): OSErr;
  257. FUNCTION NewGestalt(selector: OSType;gestaltFunction: ProcPtr): OSErr;
  258. FUNCTION ReplaceGestalt(selector: OSType;gestaltFunction: ProcPtr;VAR oldGestaltFunction: ProcPtr): OSErr;
  259.  
  260.  
  261. {$ENDC} { UsingGestaltEqu }
  262.  
  263. {$IFC NOT UsingIncludes}
  264.  END.
  265. {$ENDC}
  266.  
  267.